package com.xunyin.modules.mtcart.service;


import com.xunyin.common.service.BaseService;
import com.xunyin.modules.mtcart.domain.MtCart;

import java.util.List;
import java.util.Map;


/**
 * 购物车业务接口
 * Copyright (C) 2022-2023
 * All rights reserved, Designed By www.tonetn.com
 * 注意：
 * 本软件为讯音云商开发研制，未经购买不得使用
 * 购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 * 一经发现盗用、分享等行为，将追究法律责任，后果自负
 */
public interface CartService extends BaseService<MtCart> {

    /**
     * 保存购物车
     *
     * @param reqDto
     * @param action + or - or =
     */
    Integer saveCart(MtCart reqDto, String action);

    /**
     * 删除购物车
     *
     * @param cartIds 购物车ID
     */
    void removeCart(String cartIds) ;

    /**
     * 删除购物车
     *
     * @param  hangNo 挂单序号
     */
    void removeCartByHangNo(String hangNo) ;

    /**
     * 清空会员购物车
     *
     * @param userId 会员ID
     */
    void clearCart(Integer userId) ;

    /**
     * 根据条件查找
     * */
    List<MtCart> queryCartListByParams(Map<String, Object> params) ;

    /**
     * 挂单
     *
     * @param  cartId 购物车ID
     * @param  hangNo 挂单序号
     * @param  isVisitor 是否游客
     * @return
     */
    MtCart setHangNo(Integer cartId, String hangNo, String isVisitor);
}
